// package com.cfk.shopmail.order.listener;
//
// import com.alipay.api.AlipayApiException;
// import com.alipay.api.internal.util.AlipaySignature;
// import com.cfk.shopmail.order.config.AlipayTemplate;
// import com.cfk.shopmail.order.service.OrderService;
// import com.cfk.shopmail.order.vo.PayAsyncVo;
// import com.cfk.shopmail.order.config.AlipayTemplate;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.web.bind.annotation.RequestMapping;
// import org.springframework.web.bind.annotation.RestController;
//
// import javax.servlet.http.HttpServletRequest;
// import java.io.UnsupportedEncodingException;
// import java.util.HashMap;
// import java.util.Iterator;
// import java.util.Map;
//
// @RestController
// public class OrderPayedListener {
//     @Autowired
//     AlipayTemplate alipayTemplate;
//
//     @Autowired
//     OrderService orderService;
//
//     @RequestMapping("/payed/notify")
//     public String handleAlipayed(PayAsyncVo vo, HttpServletRequest request) throws AlipayApiException, UnsupportedEncodingException {
//         Map<String, String[]> map = request.getParameterMap();
// //        for(String key : map.keySet()){
// //            String value = request.getParameter(key);
// //            System.out.println("参数名:"+key+"-->参数值："+value);
// //        }
//         //阿里验签方法
//         Map<String, String> params = new HashMap<String, String>();
//         Map<String, String[]> requestParams = request.getParameterMap();
//         for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext(); ) {
//             String name = (String) iter.next();
//             String[] values = requestParams.get(name);
//             String valueStr = "";
//             for (int i = 0; i < values.length; i++) {
//                 valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ",";
//             }
//             //乱码解决，这段代码在出现乱码时使用
//             //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
//             params.put(name, valueStr);
//         }
//         boolean signVerified = AlipaySignature.rsaCheckV1(params, alipayTemplate.getAlipay_public_key(),
//                 alipayTemplate.getCharset(), alipayTemplate.getSign_type());
//         if (signVerified) {
//             System.out.println("签名验证成功...");
//             String result = orderService.handlePayResult(vo);
//             return result;
//         } else {
//             System.out.println("签名验证失败...");
//             return "error";
//         }
//     }
// }
